<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>

	<body>
	</body>
	<script>
		/* 饭店方法 */
		class Restaurant {
			constructor() {
				this.menuData = {}
			}

			/* 创建菜品 */
			getMenu(menu) {
				if(!this.menuData[menu])
					throw new Error('这个菜本店没有 -。-')
				const {
					type,
					message
				} = this.menuData[menu]
				return new Menu(type, message)
			}

			/* 增加菜品种类 */
			addMenu(menu, type, message) {
				if(this.menuData[menu]) {
					console.Info('已经有这个菜了!')
					return
				}
				this.menuData[menu] = {
					type,
					message
				}
			}

			/* 移除菜品 */
			removeMenu(menu) {
				if(!this.menuData[menu]) return
				delete this.menuData[menu]
			}
		}

		/* 菜品类 */
		class Menu {
			constructor(type, message) {
				this.type = type
				this.message = message
			}

			eat() {
				console.log(this.type + this.message)
			}
		}

		const restaurant = new Restaurant()
		restaurant.addMenu('YuXiangRouSi', '鱼香肉丝', ' 真香~') // 注册菜品
		restaurant.addMenu('GongBaoJiDin', '宫保鸡丁', ' 让我想起了外婆做的菜~')

		const dish1 = restaurant.getMenu('YuXiangRouSi')
		dish1.eat() // 输出: 鱼香肉丝 真香~
		const dish2 = restaurant.getMenu('HongSaoPaiGu') // 输出: Error 这个菜本店没有 -。-
	</script>

</html>